System Software
16.1 Purposes of an Operating System (OS)
Candidates should be able to:
- Show understanding of how an OS can maximise the use of resources
- Describe the ways in which the user interface hides the complexities of the hardware from the user
- Show understanding of process management
Notes and guidance
- The concept of multi-tasking and a process The process states: running, ready and blocked The need for scheduling and the function and benefits of different scheduling routines (including round robin, shortest job first, first come first served, shortest remaining time)
- How the kernel of the OS acts as an interrupt handler and how interrupt handling is used to manage low-level scheduling
- Show understanding of virtual memory, paging and segmentation for memory management
Notes and guidance
- The concepts of paging, virtual memory and segmentation
- The difference between paging and segmentation How pages can be replaced
- How disk thrashing can occur
16.2 Translation Software
Candidates should be able to:
- Show understanding of how an interpreter can execute programs without producing a translated version
- Show understanding of the various stages in the compilation of a program
Notes and guidance
Including lexical analysis, syntax analysis, code generation and optimisation
- Show understanding of how the grammar of a language can be expressed using syntax diagrams or Backus-Naur Form (BNF) notation
- Show understanding of how Reverse Polish Notation (RPN) can be used to carry out the evaluation of expressions